﻿// 日期选择器
$("#addUptime").datetimepicker({format: 'yyyy-mm-dd hh:ii:ss', autoclose: true, language: 'zh-CN'});
$("#updateTime").datetimepicker({format: 'yyyy-mm-dd hh:ii:ss', autoclose: true, language: 'zh-CN',});
// 全选
$("#selectAll").click(function () {
    if (this.checked) {
        $(".js-movies :checkbox").prop("checked", true);
    } else {
        $(".js-movies :checkbox").prop("checked", false);
    }
});
// 批量删除
$("#delAll").click(function () {
    var delList = [];
    $(".js-movies :checkbox").each(function (index, item) {
        if (this.checked) {
            delList.push($(item).val());
        }
    });
    console.log(delList);
    if (delList.length > 0) {
        var _json = jQuery.param({"tid": delList + ""});

        // 3 指定送向后台哪个处理程序以及传送的方式，并传送
        $.ajax({
            url: "../api/delMovie.ashx",
            type: "POST",
            async: false,
            data: _json, //不能直接写成 {id:"123",code:"tomcat"}
            dataType: "json",
            // contentType: "charset=utf-8",
            cache: false,

            //4 接受返回过来的数据，同样是json格式的，根据返回过来的数据给出相应的提示或操作
            success: function (data) {
                if (data.r > 0) {
                    swal("成功", "该电影已被删除", "success");
                } else {
                    swal("失败", "该电影删除失败", "warning");
                }
                getMovies();
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(XMLHttpRequest.readyState);
            }
        });
    }

});

// 搜索功能
$("#searchBtn").click(function () {

    var _json = jQuery.param({"action": "search", "type": searchForm.type.value, "kerword": searchForm.keyword.value});
    // 3 指定送向后台哪个处理程序以及传送的方式，并传送
    $.ajax({
        url: "../api/getMovies.ashx",
        type: "POST",
        async: false,
        data: _json, //不能直接写成 {id:"123",code:"tomcat"}
        dataType: "json",
        // contentType: "charset=utf-8",
        cache: false,

        //4 接受返回过来的数据，同样是json格式的，根据返回过来的数据给出相应的提示或操作
        success: function (data) {
            renderMovies(data.data);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert(XMLHttpRequest.readyState);
        }
    });

    return false;
})


// 图片预览
$("#previewImg").on("change", function (event) {

    var img = event.target.files[0];
    console.log(event.target.files[0]);

    // 判断是否图片
    if (!img) {
        return;
    }

    // 判断图片格式
    if (!(img.type.indexOf('image') == 0 && img.type && /\.(?:jpg|png|gif)$/.test(img.name))) {
        alert('图片只能是jpg,gif,png');
        return;
    }


    var reader = new FileReader();
    reader.readAsDataURL(img);

    reader.onload = function (e) { // reader onload start
        // ajax 上传图片
        $("#preview").html("<img src=\"" + this.result + "\" height=\"100\" />");

    }; // reader onload end
});

$("#u_previewImg").on("change", function (event) {

    var img = event.target.files[0];
    console.log(event.target.files[0]);

    // 判断是否图片
    if (!img) {
        return;
    }

    // 判断图片格式
    if (!(img.type.indexOf('image') == 0 && img.type && /\.(?:jpg|png|gif)$/.test(img.name))) {
        alert('图片只能是jpg,gif,png');
        return;
    }


    var reader = new FileReader();
    reader.readAsDataURL(img);

    reader.onload = function (e) { // reader onload start
        // ajax 上传图片
        $("#u_preview").html("<img src=\"" + this.result + "\" height=\"100\" />");

    }; // reader onload end
});

// 添加电影
$("#addMovie").submit(function () {
    // $(this).ajaxSubmit(); 

    var form = new FormData(document.getElementById("addMovie"));
    $.ajax({
        url: "../api/addMovie.ashx",
        type: "post",
        data: form,
        dataType: "json",
        cache: false,
        processData: false,
        contentType: false,
        success: function (data) {
            if (data.error === "0") {
                swal("成功", data.msg, "success");
                addMovie.reset();
                $('#myTab li:eq(1) a').tab('show'); // Select third tab (0-indexed)
            } else {
                swal("失败", data.msg, "warning");
            }
            getMovies();
        },
        error: function (e) {
            alert("网络错误，请重试！！");
        }
    });

    return false;

});
// 修改电影
$("#updateBtn").click(function () {
    // $(this).ajaxSubmit(); 

    var form = new FormData(document.getElementById("updateForm"));
    form.append("mid", $(this).data("id"));
    $.ajax({
        url: "../api/updateMovie.ashx",
        type: "post",
        data: form,
        dataType: "json",
        cache: false,
        processData: false,
        contentType: false,
        success: function (data) {
            if (data.error === "0") {
                swal("成功", data.msg, "success");
                $("#updateMovies").modal("hide");
                $("#u_preview").html("");
                $('#myTab li:eq(1) a').tab('show'); // Select third tab (0-indexed)
            } else {
                swal("失败", data.msg, "warning");
            }
            getMovies();
        },
        error: function (e) {
            alert("网络错误，请重试！！");
        }
    });
});

// 电影删除 修改
$(".js-movies").on("click", function (e) {
    if (e.target && e.target.nodeName.toLowerCase() === "button" && e.target.classList.contains("del")) {
        swal({
                title: "确定?",
                text: "删除电影后将不可恢复!",
                type: "warning",
                showCancelButton: true,
                confirmButtonColor: "#DD6B55",
                cancelButtonText: "取消",
                confirmButtonText: "确认删除",
                closeOnConfirm: false
            },
            function () {
                var tid = e.target.dataset.id;
                var _json = jQuery.param({"tid": tid});

                // 3 指定送向后台哪个处理程序以及传送的方式，并传送
                var request = $.ajax({
                    url: "../api/delMovie.ashx",
                    type: "POST",
                    async: false,
                    data: _json, //不能直接写成 {id:"123",code:"tomcat"}  
                    dataType: "json",
                    // contentType: "charset=utf-8",  
                    cache: false,

                    //4 接受返回过来的数据，同样是json格式的，根据返回过来的数据给出相应的提示或操作
                    success: function (data) {
                        if (data.r > 0) {
                            swal("成功", "该电影已被删除", "success");
                        } else {
                            swal("失败", "该电影删除失败", "warning");
                        }
                        getMovies();
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        alert(XMLHttpRequest.readyState);
                    }
                });

            });
    } else if (e.target && e.target.nodeName.toLowerCase() === "button" && e.target.classList.contains("update")) {


        var tid = e.target.dataset.id;
        var _json = jQuery.param({"tid": tid});

        // 3 指定送向后台哪个处理程序以及传送的方式，并传送
        $.ajax({
            url: "../api/getMovies.ashx",
            type: "POST",
            async: false,
            data: _json, //不能直接写成 {id:"123",code:"tomcat"}
            dataType: "json",
            // contentType: "charset=utf-8",
            cache: false,

            //4 接受返回过来的数据，同样是json格式的，根据返回过来的数据给出相应的提示或操作
            success: function (data) {
                var json = data;
                updateForm.reset()
                if (json.r > 0) {
                    updateForm.name.value = json.data[0].mname;
                    updateForm.author.value = json.data[0].maker;
                    updateForm.uptime.value = json.data[0].onlinetime;
                    updateForm.intro.value = json.data[0].breif;
                    updateForm.isrecommend.value = json.data[0].isrecommend == "True" ? 1 : 0;
                    $("#u_preview").html("<img src=\"../" + json.data[0].img + "\" height=\"100\" />");

                    $.ajax({
                        url: "../api/getTypes.ashx",
                        type: "post",
                        // data:form,
                        cache: false,
                        processData: false,
                        contentType: false,
                        success: function (data) {
                            if (data.r > 0) {
                                renderTypes(data.data);
                                var outstr = "";
                                data.data.forEach(function (item, index) {
                                    if (item.tname === json.data[0].tname) {
                                        outstr += "<option value=\"" + item.id + "\" selected>" + item.tname + "</option>";
                                    } else {
                                        outstr += "<option value=\"" + item.id + "\">" + item.tname + "</option>";
                                    }
                                })

                                $("#updateType").html(outstr);
                            } else {
                                renderTypes(data.data);
                            }
                        },
                        error: function (e) {
                            alert("网络错误，请重试！！");
                        }
                    });


                    $("#updateBtn").attr("data-id", json.data[0].id)
                    $("#updateMovies").modal("show");

                    //关闭弹出窗口
                } else {
                    swal("失败", "获取类别失败", "warning");
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(XMLHttpRequest.readyState);
            }
        });
    }
});


function init() {
    getMovies();
    getTypes();
}


function getMovies() {


    // 3 指定送向后台哪个处理程序以及传送的方式，并传送
    $.ajax({
        url: "../api/getMovies.ashx",
        type: "POST",
        async: false,
        // data: _json, //不能直接写成 {id:"123",code:"tomcat"}
        dataType: "json",
        // contentType: "charset=utf-8",
        cache: false,

        //4 接受返回过来的数据，同样是json格式的，根据返回过来的数据给出相应的提示或操作
        success: function (data) {
            renderMovies(data.data);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert("网络错误，请重试！！");
        }
    });


}


function renderMovies(data) {

    if (data == null) {
        $(".js-movies").html("暂无数据");
        return
    }

    var outstr = "";
    data.forEach(function (item, index) {
        outstr += "<tr>" +
            "<td><input type=\"checkbox\" name=\"selectMovie\" value=\"" + item.id + "\" /></td>" +
            "<td>" + item.mname + "</td>" +
            "<td>" + item.maker + "</td>" +
            "<td><img src=\'../" + item.img + "\' alt=\"\" width=\"100\"></td>" +
            "<td>" + item.onlinetime + "</td>" +
            "<td>" + item.tname + "</td>" +
            "<td style=\"overflow:hidden;white-space:nowrap;text-overflow:ellipsis;\">" + item.breif + "</td>" +
            "<td>" +
            "<button type=\"button\" class=\"btn btn-info btn-xs update\" data-id=\"" + item.id + "\">更改</button> " +
            "<button type=\"button\" class=\"btn btn-danger btn-xs del\" data-id=" + item.id + ">删除</button>" +
            "</td>" +
            "</tr>";
    });
    $(".js-movies").html(outstr);
}


function getTypes() {
    $.ajax({
        url: "../api/getTypes.ashx",
        type: "post",
        // data:form,
        cache: false,
        processData: false,
        contentType: false,
        success: function (data) {
            if (data.r > 0) {
                renderTypes(data.data);
            }
            console.log(data.data)
        },
        error: function (e) {
            alert("网络错误，请重试！！");
        }
    });
}


function renderTypes(data) {


    if (data == null) {
        $("#js-types").html("暂无数据");
        return
    }

    var outstr = "";
    data.forEach(function (item, index) {
        outstr += "<option value=\"" + item.id + "\">" + item.tname + "</option>";
    });
    $("#js-types").html(outstr);
    outstr += " <option value=\"0\" selected>全部</option>";
    $("#searchType").html(outstr);
}


init();

